package dados;

import java.util.List;

import javax.persistence.TypedQuery;

import rh.Gestor;
import basicas.Empresa;
import basicas.TipoEmpresa;
import dados.geral.DAOGenerico;
import dados.interfaces.IEmpresaDAO;

public class EmpresaDAO extends DAOGenerico<Empresa> implements IEmpresaDAO{

	@Override
	public List<Empresa> consultarPeloGestor(Gestor gestorResponsavel) {
		TypedQuery<Empresa> query = entityManager.createQuery("from Empresa e where e.gestorResponsavel = :gestor", Empresa.class);
		query.setParameter("gestor", gestorResponsavel);
		return query.getResultList();
	}

	@Override
	public List<Empresa> consultarPorCidade(String cidade) {
		TypedQuery<Empresa> query = entityManager.createQuery("from Empresa e where e.endereco.cidade = :cidade", Empresa.class);
		query.setParameter("cidade", cidade);
		return query.getResultList();
	}

	@Override
	public List<Empresa> consultarPeloTipo(TipoEmpresa tipoEmpresa) {
		TypedQuery<Empresa> query = entityManager.createQuery("from Empresa e where e.tipoEmpresa = :tipoEmpresa", Empresa.class);
		query.setParameter("tipoEmpresa", tipoEmpresa);
		return query.getResultList();
	}

	
	

}